// repository/user_repo.go（仓库层）
package repository

import (
	"gin-zc/model"
	"gin-zc/util"

	"gorm.io/gorm"
)

// GetUserByID 查用户（仓库层）
func GetUserByID(id string) (*model.User, *util.BusinessError) {
	var user model.User
	result := DB.First(&user, id)
	if result.Error != nil {
		if result.Error == gorm.ErrRecordNotFound {
			// 资源不存在：返回业务错误
			return nil, util.ErrNotFound
		}
		// 数据库错误：返回系统错误（包装原始错误）
		return nil, util.ErrBadSearch
	}
	return &user, nil
}
